Object gripping system, object gripping method, storage medium and robot system

ABSTRACT

A system comprises: a measurement unit adapted to measure a position/orientation of at least one target object based on an image obtained by capturing the at least one target object; a selection unit adapted to select at least one grippable target object based on the position/orientation; a determination unit adapted to determine, as an object to be gripped, a grippable target object in a state with a highest priority from the at least one grippable target object based on priorities set in advance for states including gripping positions/directions; a gripping unit adapted to grip the object to be gripped in the state with the highest priority; and a changing unit adapted to change the state of the gripped object, to a state in which the gripped object is assembled to the other object.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an object gripping system, an objectgripping method, a storage medium, and a robot system.

2. Description of the Related Art

Japanese Patent Laid-Open No. 2005-349491 discloses a robot hand whichcan change the way a gripped object is held with one hand and smoothlyshift to the next operation. This robot hand includes a plurality offinger mechanisms, each of which includes a plurality of joint portionsand rotating portions. This makes it possible to change the grippingstate of a gripped object.

A conventional gripping portion is not designed to grip an object byselecting a gripping position on the object or a relative orientationbetween the object and the gripping portion in consideration of a changeto a gripping state required in a subsequent process. For this reason,while the gripping portion grips an object, the portion undergoes manylarge changes in gripping state. In this case, the position andorientation change amount of the object increases to result in droppingthe object when changing the gripping state or increasing the tact timerequired to change the gripping state.

In consideration of the above problems, the present invention provides atechnique for measuring the position and orientation of an object froman image obtained by capturing the object, and gripping the object inconsideration of a change to the gripping position on the object or therelative orientation which is required in a subsequent process.

SUMMARY OF THE INVENTION

According to one aspect of the present invention, there is provided anobject gripping system comprising: a position and orientationmeasurement unit adapted to measure a position and orientation of atleast one target object based on an image obtained by capturing the atleast one target object; a selection unit adapted to select at least onegrippable target object based on the position and orientation; adetermination unit adapted to determine, as an object to be gripped, agrippable target object in a state with a highest priority from the atleast one grippable target object which is selected by the selectionunit, based on priorities set in advance for states including grippingpositions or gripping directions; a gripping unit adapted to grip theobject to be gripped, which is determined by the determination unit, inthe state with the highest priority; and a changing unit adapted tochange the state of the gripped object, which is gripped by the grippingunit, to a state in which the gripped object is assembled to the otherobject.

According to another aspect of the present invention, there is providedan object gripping system comprising: a position and orientationmeasurement unit adapted to measure a position and orientation of atleast one target object based on an image obtained by capturing the atleast one target object; a selection unit adapted to select at least onegrippable target object based on the position and orientation; adetermination unit adapted to determine, as an object to be gripped, atarget object, from the at least one grippable target object which isselected by the selection unit, which is configured to be gripped at agripping position closest to a gripping position at which the targetobject is assembled to another object; a gripping unit adapted to gripthe object to be gripped which is determined by the determination unit;and a changing unit adapted to change the gripping position and grippingdirection of the object gripped by the gripping unit to a grippingposition and gripping direction to be set when the gripped object isassembled to the other object.

Further features of the present invention will be apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view showing an object gripping system;

FIGS. 2A to 2C are views each showing an end effector;

FIG. 3 is a view showing the functional arrangement of an objectgripping system;

FIG. 4 is a flowchart showing a processing procedure in the objectgripping system;

FIG. 5 is a view showing an assembly process;

FIGS. 6A to 6C are views showing how a part is gripped;

FIGS. 7A and 7B are views showing captured images;

FIG. 8 is a perspective view showing the stable orientation of a part;

FIGS. 9A and 9B are views each showing how a part is gripped;

FIG. 10 is a perspective view showing an object gripping system using anon-hand camera;

FIG. 11 is a flowchart showing a processing procedure in an objectgripping system according to the second embodiment;

FIGS. 12A to 12C are perspective views each showing an end effectoraccording to the fifth embodiment;

FIGS. 13A and 13B are perspective views each showing an end effectoraccording to the sixth embodiment;

FIG. 14 is a flowchart showing a processing procedure in an objectgripping system according to the sixth embodiment;

FIGS. 15A and 15B are perspective views each showing how a part isgripped according to the sixth embodiment; and

FIGS. 16A to 16D are perspective views showing the processing ofchanging the gripping state of a part according to the seventhembodiment.

DESCRIPTION OF THE EMBODIMENTS

An exemplary embodiment(s) of the present invention will now bedescribed in detail with reference to the drawings. It should be notedthat the relative arrangement of the components, the numericalexpressions and numerical values set forth in these embodiments do notlimit the scope of the present invention unless it is specificallystated otherwise.

(First Embodiment)

This embodiment will exemplify an object gripping system that grips oneor one of two or more parts and is used in a robot system configured toexecute tasks such as picking parts and assembling them on, for example,a production line or the like in a factory.

The arrangement of the object gripping system will be described belowfirst with reference to FIG. 1. The object gripping system includes arobot arm 2 having a multi-fingered hand 1 as an end effector, a supportcolumn 3, a camera 4 held on the support column 3, and a controller 5which controls the multi-fingered hand 1, the robot arm 2, and thecamera 4. Note that FIG. 1 shows a parts supply box 7 in which parts 6as processing target objects are piled up and a main body part 8 whichis a part on which the part 6 is to be mounted. In this case, thecontroller 5 generally includes a computer. However, this embodiment isnot limited to this arrangement.

The arrangement of the multi-fingered hand 1 as an end effector will bedescribed with reference to FIG. 2A. As shown in FIG. 2A, themulti-fingered hand 1 in this embodiment includes three initial grippingfingers 9 which grip one of piled up parts and three re-holding fingers10 which are used when it is necessary to change the gripping state of apart for an assembly process. When, for example, as shown in FIG. 2A, apart 11 is held by three-point support using the initial grippingfingers 9, the gripping position on the part 11 and the relativeorientation between the part 11 and the multi-fingered hand 1 arechanged, as needed, by using the re-holding fingers 10. This can changethe gripping state of the part 11. For example, as shown in FIGS. 2B and2C, each finger of the multi-fingered hand 1 has a plurality of joints,and the initial gripping fingers 9 and the re-holding fingers 10cooperatively operate to allow change in the way a part is held. Notethat the multi-fingered hand 1 in this embodiment has extensibleportions 12 (the hatched portions in FIG. 2A), and changes the lengthsof the fingers as needed at the time of the above re-holding operation.A seat portion 13 to which the respective fingers are attached hasmechanisms 15 each of which rotates while holding the relativepositional relationship between the three fingers as indicated by arrows14 in FIG. 2A.

Note that in this embodiment, as will be described later, a plurality ofpatterns of object gripping states assigned with priorities are set, andre-holding operations between the respective gripping state patterns arealso set in advance. This makes it possible to select an operationcontrol pattern for the multi-fingered hand 1 by selecting one of thegripping state patterns at the time of actual operation of the objectgripping system. The arrangement and function of the multi-fingered hand1 are not limited to those described above. The multi-fingered hand 1can take any arrangement as long as it allows re-holding operation.

The functional arrangement for processing implemented by the controller5 will be described with reference to FIG. 3. Referring to FIG. 3, anarm control module 16 has a function of controlling the operation of therobot arm 2. An end effector control module 17 has a function ofcontrolling the operation of the multi-fingered hand 1. The arm controlmodule 16 and the end effector control module 17 implement, togetherwith the robot arm 2 including the multi-fingered hand 1 describedabove, the function of a gripping unit. A camera control module 18 has afunction of controlling the operation of the camera 4 andacquiring/transferring images. The camera control module 18 implements,together with the camera 4, the function of an image capturing unit. Aposition and orientation measurement module 19 has a function as aposition and orientation measurement unit which measures the spatialposition and orientation of a target object from an image captured bythe camera 4. A gripping state determination module 20 has a function asa gripping state determination unit which selects an object grippingstate based on the position and orientation measurement result obtainedby the position and orientation measurement module 19. A gripping statechanging module 21 has a function as a gripping state changing unitwhich changes the object gripping state, based on the position andorientation measurement result obtained by the position and orientationmeasurement module 19.

A grip candidate module 22 holds grip priority candidate data set inadvance. The grip candidate module 22 and grip priority candidate datawill be described in detail later.

In this embodiment, the modules and units which implement the respectivefunctions are defined in the above manner, but these definitions do notlimit the scope of the present invention. For example, the grippingstate changing module 21 is defined as a gripping state changing unit.However, this unit may be defined as a unit including the end effectorand the end effector control module 17. That is, the above definitionsare set to explain the units which are required by the object grippingsystem exemplified by this embodiment when it implements the processingto be described later, and do not exclude other definitions.

A flowchart showing a processing procedure in the object gripping systemaccording to this embodiment will be described with reference to FIG. 4.In an image capturing process in step S401, the camera 4 captures animage of an area including piled-up parts. In a position and orientationmeasurement process in step S402, the position and orientationmeasurement module 19 measures the spatial position and orientation of atarget part by using the image captured by the camera 4. In a grippingstate determination process in step S403, the gripping statedetermination module 20 determines the gripping state of the part by theend effector based on the position and orientation measurement result.Note that the gripping state of the part includes a gripping position onthe part gripped by the end effector and the relative orientation(gripping direction) between the end effector and the part. In agripping process in step S404, the arm control module 16 and the endeffector control module 17 control the robot arm 2 and the end effector(multi-fingered hand) 1. The end effector then grips the part in thegripping state determined by the gripping state determination module 20.

In a part moving process in step S405, the arm control module 16 and theend effector control module 17 control the robot arm 2 and the endeffector (multi-fingered hand) 1. The robot arm and the end effectorthen move the gripped part to a part assembly start position set inadvance in a subsequent process.

In a gripping state changing process in step S406, the gripping statechanging module 21 determines the contents of control of changing thegripping state based on the respective pieces of information about thecurrent gripping state of the part and the gripping state required inthe subsequent process. The end effector control module 17 controls theend effector (multi-fingered hand) 1, based on the determined contentsof control of changing, to change the gripping state of the part to thegripping state required in the subsequent process. Note that in thisembodiment, the subsequent process indicates a part assembly process instep S407. Although this embodiment exemplifies the concurrent executionof the part moving process in step S405 and the gripping state changingprocess in step S406, it is possible to sequentially execute the twoprocesses.

In an assembly process in step S407, the arm control module 16 and theend effector control module 17 control the robot arm 2 and the endeffector (multi-fingered hand) 1 to assemble parts set in advance in thesubsequent process.

The operation of the object gripping system according to this embodimentwill be described in more detail below.

First of all, the object gripping system according to this embodimentgrips one of the parts 6 piled up in the parts supply box 7 and suppliedas shown in FIG. 1 with the end effector (multi-fingered hand) 1 of therobot arm 2. The system then causes the robot arm 2 to move the part tothe assembly start position for the main body part 8 which is a part tobe assembled, and executes an assembly process set in advance.

This embodiment will exemplify the assembly process of inserting thegripped part 11 into a hole 30 of the main body part 8, as shown in FIG.5. Assume that in this case, the part 11 has a shape having a screw-likehead portion 31 and a shaft portion 32, and the entire shaft portion 32except for the head portion 31 is inserted into the main body part 8.

In order to execute the assembly process, the multi-fingered hand 1needs to grip the head portion 31 of the part 11. If, however, the parts11 are supplied in a piled-up state, the multi-fingered hand 1 may notbe able to grip the part 11 in a gripping state corresponding to theassembly process.

This embodiment, therefore, sets in advance a plurality of candidates ofpositions on a part to be gripped by the multi-fingered hand 1 and ofrelative orientations between the multi-fingered hand 1 and the part 11,as gripping states of the target part to be assembled by themulti-fingered hand 1, together with grip priority levels. The gripcandidate module 22 holds the candidates as grip priority candidatedata.

For example, as described above, when executing an assembly process, themulti-fingered hand 1 needs to grip a circumferential position of thehead portion 31 of the part 11, as shown in FIG. 6A. For this reason, agripping position is set to a circumferential position of the headportion 31 as a gripping state with priority 0. To facilitateunderstanding, FIG. 6A shows the circumferential position of the headportion 31 in black. In addition, the relative orientation between themulti-fingered hand 1 and the part 11 must be set in assembly operationso as to prevent interference between the multi-fingered hand 1 and themain body part 8. For this reason, as shown in FIG. 6A, the relativeorientation is set to locate the head portion 31 of the part on the sideclose to the multi-fingered hand 1 (locate the shaft portion 32 on theremote side).

As a gripping state with priority 1, a gripping position is set to anarea on the shaft portion 32, as shown in FIG. 6B. To facilitateunderstanding, FIG. 6B shows the area on the shaft portion 32 in black.In addition, the relative orientation is set to set a direction in whichthe multi-fingered hand 1 grips the shaft portion 32 from itslongitudinal side surface, as shown in FIG. 6B.

As a gripping state with priority 2, a gripping position is set to thedistal end side surface position on the shaft portion 32 of the part 11,as shown in FIG. 6C. To facilitate understanding, FIG. 6C shows thedistal end side surface position on the shaft portion 32 in black. Inaddition, the relative orientation is set to locate the shaft portion 32of the part 11 on the side close to the multi-fingered hand 1 (locatethe head portion 31 on the remote side), as shown in FIG. 6C.

When the multi-fingered hand 1 grips the part 11 in the gripping statewith priority 0 among the gripping states set in the above manner, thereis no need to change the gripping state of the part 11 for the assemblyprocess. For this reason, priority 0 is set for the gripping state inwhich a part should be gripped with the highest priority. When the part11 is gripped in the gripping state with priority 1 or priority 2, thegripping state of the part must be changed to the gripping state withpriority 0 so as to execute an assembly process. In this case, themulti-fingered hand 1 changes the gripping state of the part 11 during apart moving process, as will be described later. As is obvious fromFIGS. 6A to 6C, when comparing a gripping state change amount from thegripping state with priority 1 with that from the gripping state withpriority 2, priority 2, which corresponds to the inverted relativeorientation between the multi-fingered hand 1 and the part 11, exhibitsa larger gripping state change amount.

The larger the gripping state change amount, the higher the possibilityof a mistake such as dropping the part 11. Therefore, the gripping statewith priority 2 is assigned with a lower priority.

Assume that in this embodiment, it is possible to both change thegripping state with priority 1 with the multi-fingered hand 1 describedabove to the gripping state with priority 0 and change the grippingstate with priority 2 to the gripping state with priority 0 by oneprocessing operation.

According to the above description, as the gripping positioncorresponding to priority 1, the area on the shaft portion 32 which hasa predetermined degree of freedom is set. However, when themulti-fingered hand 1 actually grip an object, it is possible to selecta proper one of gripping states having degrees of freedom. An example ofa method of determining one gripping state from gripping states havingdegrees of freedom will be described later. Note that the technique ofsetting priority levels is merely an example. It is possible toarbitrarily set priority levels in accordance with the types of parts,the shapes of end effectors, and the contents of processes to beexecuted by the object gripping system.

The flowchart for the actual operation of the object gripping systemaccording to this embodiment will be described in detail below.

First of all, the object gripping system according to this embodimentexecutes an image capturing process. As shown in FIG. 7A, in the imagecapturing process, the system acquires an image 33 including a targetobject.

In a position and orientation measurement process, the system measuresthe position and orientation of the part from the captured image 33.Many position and orientation measurement techniques using recognitionprocessing, distance measurement processing, and the like have beenproposed as techniques of measuring the position and orientation of theobject from the image 33 captured by the camera. This embodiment isassumed to use, for example, the technique disclosed in V. Lepetit andP. Fua, “Keypoint recognition using randomized trees”, IEEE Transactionson Pattern Analysis and Machine Intelligence, vol. 28, no. 9, 2006,which uses image features such as feature points and edges detected on atwo-dimensional image.

Furthermore, in a position and orientation measurement process in thisembodiment, the system determines an area on an object which is hiddenby other objects. For example, in this embodiment, the system performsthree-dimensional distance measurement by a spatial coding method tocalculate distance data in the depth direction of an image. The systemcompares the distance information of a target part area extracted byrecognition processing with the three-dimensional model data of thetarget part, thereby determining an area which does not match thethree-dimensional model data as a hidden area.

In addition, in this process, the system measures the relativepositional relationship between the detected part and objects (mainlyother parts) existing around the part as the position and orientation ofthe part. For example, the system uses the distance data calculated inthe above manner in the depth direction of the image to compare thedistance data of the target part area with the distance data of asurrounding area. This makes it opposable to obtain the correspondencerelationship between the target part and the adjacent objects includedin the surrounding area.

That is, as shown in FIG. 7B, if, for example, the distance data ofparts 34 and 35 adjacent to a target part 36 on the image in the depthdirection of the image fall within the same range as the distance dataof the target part 36 in the depth direction, the parts 34 to 36 existin the same plane perpendicular to the depth direction from an imagingplane. In this case, if the distances between the respective parts onthe image 33 each are smaller than the thickness of each finger of themulti-fingered hand 1 (indicated by the two-headed arrows in FIG. 7B),the system cannot insert the multi-fingered hand 1 between the twoparts. In contrast, if the distance data of the part 35, which isadjacent to a target part 37 on the image, in the depth direction of theimage is larger than the distance data of the target part 37 in thedepth direction, the two parts do not exist in the same planeperpendicular to the depth direction from the imaging plane. For thisreason, even if the distance between the two parts on the image issmaller than the thickness of each finger of the multi-fingered hand 1,it is possible to insert the multi-fingered hand 1 between the twoparts.

Note that when using the above spatial coding method asthree-dimensional distance measurement, this system projects a spatialcoding pattern from an illumination apparatus onto a measurement targetarea, and calculates distance data from an imaging plane in the depthdirection using the captured image. Three-dimensional distancemeasurement is irrelevant to the gist of the present invention, andhence an illustration of the illumination apparatus is omitted fromFIG. 1. In addition, a detailed description of image capturingprocessing and image processing which correspond to three-dimensionaldistance measurement will be omitted for the same reason.

Note that the position and orientation measurement process in thepresent invention is not limited to the above technique, and may useother techniques. The position and orientation measurement technique,the hidden area determination technique, and the technique of measuringa relative positional relationship with surrounding objects which areused in the position and orientation measurement process are notirrelevant to the gist of the present invention, and hence a detaileddescription of them will be omitted. With this process, for example, asshown in FIG. 7B, the positions and orientations of parts 36 to 39 inthe parts supply box are measured.

Subsequently, in a gripping state determination process, the systemselects a gripping state for a part to be gripped by the multi-fingeredhand 1 from the grip priority candidate data set in advance and held inthe grip candidate module 22 based on the position and orientationmeasurement result obtained in the position and orientation measurementprocess.

Assume that in the position and orientation measurement process, thepositions and orientations of the parts 36 to 39 among those shown inFIG. 7B have been measured (assume that other parts have not beenrecognized in the position and orientation measurement process). In thepile of parts, the parts 36 and 37 are positioned with the head portions31 facing upward. In addition, in the pile of parts, the part 38 ispositioned with the shaft portion 32 lying sideways. In the pile ofparts, the part 39 is positioned with the head portion 31 facingdownward. The part 36 is positioned with the head portion 31 facingupward like the part 37. The parts 34 and 35 adjacent to the part 36 arepresent close to each other within the same plane perpendicular to thedepth direction from the imaging plane such that the fingers of themulti-fingered hand 1 cannot be inserted between the circumference ofthe head portion 31 and other parts.

In this case, in the gripping state determination process, first of all,the gripping state determination module 20 selects parts which can begripped by the multi-fingered hand 1. In this embodiment, the grippingstate determination module 20 selects the parts 37 to 39 as parts whichcan be gripped, while the remaining part 36 is recognized as a partwhich cannot be gripped for the above reason and excluded from thetargets to be gripped. Subsequently, the gripping state determinationmodule 20 determines, as a gripping target part, a part which can begripped in a gripping state with higher priority. According to theposition and orientation measurement result, the part 37 which can begripped in a gripping state with priority 0 is selected as a grippingtarget part. In this case, the gripping state with priority 0 is thegripping state required in the assembly process, and hence a grippingstate changing process is not executed, as described later (pattern 0).

In contrast, if the position and orientation measurement result does notinclude the detection of the part 37 (for example, the part 37 is notpresent in FIG. 7B), the gripping state determination module 20 selects,as a gripping target part, the part 38 which can be gripped in agripping state with next highest priority (pattern 1). Note that inpattern 1, a grip candidate position on the part 38 which is to begripped by the multi-fingered hand 1 is set to a predetermined area onthe side surface of the shaft portion 32 in advance, as shown in FIG.6B. In this case, the gripping state determination module 20 determines,as a final gripping position, a position in the area allowing grippingof the part which is closest to the head portion 31. When a grippingposition on a part or the relative orientation between the part and themulti-fingered hand is set within a predetermined area range in advance,the grip candidate module 22 selects an actual gripping positionaccording to a rule set in advance. The above rule (selecting a positionclosest to a head portion) is an example, which can be arbitrarily setin accordance with the shape of a part, the contents of a subsequentprocess, or the like.

If the position and orientation measurement result does not include thedetection of the parts 37 and 38 (for example, the parts 37 and 38 arenot present in FIG. 7B), the gripping state determination module 20selects, as a gripping target part, the part 39 which can be gripped ina gripping state with next highest priority (pattern 2).

Processing corresponding to each of the above three types of patterns 0,1, and 2 will be described below.

In a gripping process, the information of the determined gripping stateis sent to the arm control module 16 and the end effector control module17. The respective control modules then control the robot arm 2 and theend effector (multi-fingered hand) 1 so as to grip the part in thedetermined gripping state, thereby gripping the part. In pattern 0, thepart 37 is gripped as shown in FIG. 6A. In pattern 1, the part 38 isgripped as shown in FIG. 6B. In pattern 2, the part 39 is gripped asshown in FIG. 6C.

In a part moving process, the arm control module 16 and the end effectorcontrol module 17 control the robot arm 2 and the end effector(multi-fingered hand) 1 to move the gripped part to the part assemblystart position set in advance.

Concurrently, in a gripping state changing process, the gripping statechanging module 21 determines the contents of control of changing thegripping state based on the gripping state (current gripping state)selected in the gripping state determination process and the informationof a gripping state required in the assembly process. In addition, theend effector control module 17 controls the end effector (multi-fingeredhand) 1 to change the gripping state of the part, based on thedetermined contents of control of changing. In this case, the grippingstate changing module 21 determines whether the gripping state of thepart selected first in the above gripping state determination processand executed in the gripping process coincides with the gripping stateof the part which is required in the assembly process. If, for example,pattern 0 has been executed in the gripping state, the gripping state ofthe part coincides with the gripping state of the part required in theassembly process. Therefore, the gripping state of the part is notchanged.

If pattern 1 or 2 has been executed in the gripping process, thegripping state of the part is changed to the gripping state required inthe assembly process. At this time, in this embodiment, since thecontents of control of re-holding operation corresponding to therespective gripping state patterns are also set in advance, the contentsof control of operation are selected in accordance with the grippingstate pattern before re-holding operation. The end effector controlmodule 17 controls the end effector (multi-fingered hand) 1 based on theselected contents of control of operation, thereby implementing partre-holding operation. As a result, after the gripping state changingprocess, the part is gripped in the gripping state with priority 0required in the assembly process, as shown in FIG. 6A, regardless of thegripping state of the part at the time of picking. Note that thecontents of control of re-holding operation corresponding to therespective gripping state patterns, which are set in advance, are heldin the grip candidate module 22 shown in FIG. 3.

In the assembly process, the arm control module 16 and the end effectorcontrol module 17 control the robot arm 2 and the end effector(multi-fingered hand) 1 to perform part assembly operation set inadvance. As described above, this embodiment executes the process ofinserting the part 11 into the hole 30 of the main body part 8, as shownin FIG. 5.

With the above procedure, this embodiment implements the processing ofselectively gripping one of piled-up parts which can be gripped in agripping state more suitable for the subsequent process (assemblyprocess), changing the current gripping state to the gripping staterequired in the subsequent process as needed, and executing thesubsequent process. In general, the processing procedure is repeateduntil all of the piled-up parts are processed or no part which can bepicked remains.

Although the above description has exemplified the operation of pickingone of piled-up parts as an example of picking a part, the task to beexecuted by the object gripping system of the present invention is notlimited to this. Consider, for example, a columnar part 40 having a lowheight relative to the diameter of a cross-section. In general, even ifthe part 40 is singly supplied, the part is likely to be supplied in anorientation like that shown in FIG. 8, which is a stable orientation,unless using some kind of jig. In this case, if a gripping state likethat shown in FIG. 9B is required in the subsequent process, themulti-fingered hand 1 cannot pick the part 40 supplied in a state likethat shown in FIG. 8 without any change. In contrast to this, the objectgripping system according to this embodiment temporarily grips the part40 supplied in the state shown in FIG. 8 in the gripping state shown inFIG. 9A, and then changes the way of gripping the object to that shownin FIG. 9B. This makes it possible to change the gripping state to thatcorresponding to the subsequent process. In this case, the grippingstate in FIG. 9B corresponds to priority 0, and the gripping state inFIG. 9A corresponds to priority 1. Although the above case hasexemplified the part 40 having a simple shape as shown in FIG. 8, thesame applies to a case in which a part has a more complicated shape, anda gripping state in which the part is gripped in a stable orientationdoes not coincide with a gripping state required in the subsequentprocess.

In addition, the above description has exemplified the arrangement inwhich the camera 4 is fixed at a predetermined position as shown inFIG. 1. However, the position of the camera and the number of cameras tobe used are not limited to those described above. For example, as shownin FIG. 10, a camera 41 may be mounted on the seat portion of the endeffector (multi-fingered hand) 1 to form an on-hand camera. In addition,it is possible to use a camera fixed at a predetermined position incombination with the on-hand camera mounted on the seat portion of theend effector (multi-fingered hand) 1, or to switch cameras to be used inaccordance with the type of part, the type of process, or the like, orto simultaneously use them.

As described above, the object gripping system according to thisembodiment can grip a part in a gripping state more suitable for thesubsequent assembly step when picking the part. In addition, when movingthe part to the assembly start position, this system can change thegripping state of the part to that corresponding to the assemblyprocess. This makes it possible to execute the process of picking a partand assembling it as a series of processing operations, even if it isnot possible to pick the part in a gripping state corresponding to theassembly process. This can shorten the tact time. In addition, selectinga gripping state with a small gripping state change amount can reducethe possibility of dropping the part at the time of part re-holdingoperation.

(Second Embodiment)

An object gripping system according to the second embodiment picks oneof piled-up parts first, and then executes a position and orientationmeasurement process by using an image obtained by capturing the grippedpart again. This embodiment differs from the first embodiment in that itchanges the gripping state of the part in a gripping state changingprocess using the position and orientation measurement result.Therefore, only the differences from the first embodiment will bedescribed in the second embodiment. Other parts are the same as those ofthe first embodiment, and hence a description of them will be omitted.

A flowchart showing a processing procedure in the object gripping systemaccording to this embodiment will be described with reference to FIG.11. First of all, this system executes processes from an image capturingprocess in step S1101 to a part moving process in step S1105 in the samemanner as in the first embodiment.

Subsequently, in this embodiment, a camera 4 executes the imagecapturing process of capturing an image of a gripped part in step S1106.Note that the camera 4 may execute the image capturing process in stepS1106 at a timing during movement of the part.

In a position and orientation measurement process in step S1107, aposition and orientation measurement module 19 measures the position andorientation of the gripped part by using the image captured by thecamera 4.

In a gripping state changing process in step S1108, a gripping statechanging module 21 determines the contents of control of changing thegripping state based on the position and orientation measurement resulton the gripped part and the information of the gripping state requiredin the assembly process. An end effector control module 17 controls anend effector (multi-fingered hand) 1 to change the gripping state of thepart, based on the determined contents of control of changing. At thistime, the gripping state changing module 21 calculates the contents ofcontrol of operation of the end effector (multi-fingered hand) 1,associated with re-holding operation, with the position and orientationmeasurement result being regarded as an initial state. When picking apart in the gripping process in step S1104, the actual gripping statemay differ from the gripping state determined in the gripping statedetermination process in step S1103 in advance due to the influence ofthe positional shift of the part at the time of picking or the like.When handling a part having a complicated shape, for example, partre-holding operation may differ from ideal operation due to theinfluence of this difference. This may lead to a mistake such asdropping the part. In contrast to this, when calculating the contents ofcontrol of operation of the end effector (multi-fingered hand) 1associated with part re-holding operation, this embodiment regards theposition and orientation of the gripped part as an initial state. Thismakes it possible to eliminate the influence of the difference caused inthe gripping state of the part in the gripping process in step S1104.

In the part moving process in step S1105, the system executes positionand orientation measurement by using images obtained by capturing thepart and its surrounding environment, as needed, with the camera 4during movement of the gripped part. It is possible to calculate thecontents of control of operation of the end effector (multi-fingeredhand) 1 associated with re-holding operation, as needed, based on thisposition and orientation measurement result. In this case, it ispossible to determine, based on the position and orientation measurementresult, a state in which the end effector may drop the part or a statein which the end effector or the part may come into contact withsurrounding objects and to correct the contents of control of operationof the end effector (multi-fingered hand) 1 so as to avoid such a state.

Note that this embodiment is configured to calculate the contents ofcontrol of operation of the end effector (multi-fingered hand) 1 again.However, it is possible to adjust the contents of control of re-holdingoperation set in advance in accordance with each gripping state likethat described in the first embodiment by using the position andorientation measurement result on the gripped part.

The assembly process in step S1109 to be executed subsequently is thesame as that in the first embodiment.

Note that the arrangement of the camera is also the same as that in thefirst embodiment. For example, it is possible to use a camera fixed at apredetermined position at the time of picking of a part and use anon-hand camera when capturing an image of a gripped part.

As described above, the object gripping system according to thisembodiment can eliminate the influence of a difference caused at thetime of gripping of a part by changing the gripping state of the partbased on the position and orientation measurement result on the grippedpart. This makes it possible to control the gripping state of a partmore accurately.

(Third Embodiment)

An object gripping system according to the third embodiment uses thetact time of an end effector accompanying a change of a gripping stateas an evaluation amount instead of a gripping state change amount whensetting priority for each gripping state. This point differs from thefirst and second embodiments. Therefore, only the differences from thefirst and second embodiments will be described in the third embodiment.Other parts are the same as those of the first embodiment, and hence adescription of them will be omitted.

Compare, for example, the gripping states in FIGS. 6B and 6C describedin the first embodiment with each other. If the tact time required forthe multi-fingered hand 1 to execute re-holding operation to change fromthe gripping state in FIG. 6B to the gripping state in FIG. 6Acorresponding to the subsequent process is shorter than the tact timerequired to change from the gripping state in FIG. 6C to the grippingstate in FIG. 6A, priority 1 is assigned to the gripping state in FIG.6B, and priority 2 is assigned to the gripping state in FIG. 6C. In thiscase, selecting a gripping state with higher priority in the grippingstate determination process can shorten the tact time taken for thegripping state changing process. Assume that the tact time required fora part moving process is three sec, the tact time required for agripping state changing process for a change from priority 1 to priority0 is two sec, and the tact time required for a gripping state changingprocess for a change from priority 2 to priority 0 is four sec. In thiscase, concurrently performing the part moving process and the grippingstate changing process can complete the gripping state changing processby the time the part moving process is complete, when changing thegripping state from priority 1 to priority 0. When changing the grippingstate from priority 2 to priority 0, it is not possible to complete thegripping state changing process by the time the part moving process iscomplete, and it is necessary to wait for the completion of the grippingstate changing process before starting a part assembly process as asubsequent process.

In addition, when concurrently executing the part moving process and thegripping state changing process, the magnitude of the tact time requiredfor the gripping state changing process directly influence the tact timeof the overall system. In general, an increase in tact time leads to anincrease in manufacturing cost, and hence it is required to furthershorten the tact time.

In contrast to this, the object gripping system according to thisembodiment can shorten the tact time of the overall system by using, asan evaluation amount, the tact time of the end effector whichaccompanies a change in gripping state, as described above.

(Fourth Embodiment)

An object gripping system according to the fourth embodiment does notset any priorities for the gripping states of a part. This point differsfrom the first to third embodiments. Therefore, only the differencesfrom the first to third embodiments will be described in the fourthembodiment. Other parts are the same as those of the first to thirdembodiments, and hence a description of them will be omitted.

The object gripping system according to this embodiment holds, in a gripcandidate module 22, positions on a part at which it can be gripped andthe relative orientations between the part and an end effector(multi-fingered hand) 1.

In a gripping state determination process, the system determines aposition on the part at which it can be gripped and the relativeorientation between the part and the end effector from the informationheld in the grip candidate module 22 based on a position and orientationmeasurement result. When selecting proper candidates from the positionson the part at which it can be gripped and the relative orientations(gripping directions) between the part and the end effector, which areset in advance, it is possible to select a gripping position and arelative orientation based on, for example, evaluation amountscorresponding to a gripping state required in the subsequent process. Inthis case, as evaluation amounts, it is possible to set, for example,physical distances from a gripping position in the gripping staterequired in the subsequent process.

In addition, in the gripping state changing process, the system selectscorresponding contents from the candidates of the contents of control ofoperation of the end effector (multi-fingered hand) 1 associated withre-holding operation set in advance based on the determined grippingstate and the gripping state required in the subsequent process.Alternatively, the system may execute position and orientationmeasurement by using images obtained by capturing a part and itssurrounding environment, as needed, and calculate the contents ofcontrol of operation of the end effector (multi-fingered hand) 1associated with re-holding operation based on the position andorientation measurement result.

As described above, the object gripping system according to thisembodiment is characterized by setting no priorities for the grippingstates of a part, and has the same effects as those of the first tothird embodiments.

(Fifth Embodiment)

In an object gripping system according to the fifth embodiment, an endeffector functioning as a gripping unit has a gripper mechanism. Thispoint differs from the first to fourth embodiments. Therefore, only thedifferences from the first to fourth embodiments will be described inthe fifth embodiment. Other parts are the same as those of the first tofourth embodiments, and hence a description of them will be omitted.

The arrangement of a gripper 45 as an end effector will be describedwith reference to FIGS. 12A to 12C. As shown in FIG. 12A, the gripper 45in this embodiment includes an initial gripper 46 to be used to grip oneof piled-up parts and a re-holding gripper 47 to be used when it isnecessary to change the gripping state of a part to that required in anassembly process. Each gripper holds a part by two-point support. Thegripper 47 in this embodiment has extensible portions (the hatchedportions in FIG. 12A), and hence changes the length of each shaft, asneeded, at the time of re-holding operation. A seat portion 49 on whichthe respective shafts are mounted has mechanisms 51 which rotate whilekeeping the relative positional relationship with the respectivegrippers, as indicated by an arrow 50 in FIG. 12A.

Consider, for example, a case in which the initial gripper 46 isgripping a part 52, as shown in FIG. 12B. In this case, it is possibleto change the gripping state of the part 52 by changing the grippingposition on the part 52 and the relative orientation between the part 52and the gripper 45, as needed, by using the re-holding gripper 47. Forexample, the shafts of the grippers 46 and 47 each have a plurality ofjoints and are configured to be rotatable. The initial gripper 46 andthe re-holding gripper 47 cooperatively operate to perform re-holdingoperation. FIGS. 12B and 12C show how the grippers 46 and 47 grip theflexible printed board 52 having a connector portion 53.

Note that the arrangement of each gripper is not limited to thatdescribed above, and can take any arrangement as long as it can performre-holding operation.

(Sixth Embodiment)

In an object gripping system according to the sixth embodiment, an endeffector functioning as a gripping unit has a suction mechanism. Thispoint differs from the first to fifth embodiments. Therefore, only thedifferences from the first to fifth embodiments will be described in thesixth embodiment. Other parts are the same as those of the first tofifth embodiments, and hence a description of them will be omitted.

A multi-fingered hand 55 having a suction mechanism 54 will be describedwith reference to FIG. 13A. A gripper 56 having the suction mechanism 54will also be described with reference to FIG. 13B. The object grippingsystem according to this embodiment executes a suction process using thesuction mechanism in step S1404, as shown in FIG. 14, instead of theobject gripping process described in the first to fifth embodiments.Note that when determining a suction position on a part, the systemexecutes a suction state determination process in step S1403 instead ofthe gripping state determination process described in the firstembodiment. In the suction state determination process, the systemexecutes the process of determining a suction position and the relativeorientation between the part and the end effector as in the process ofdetermining a gripping state in the gripping state determinationprocess. In the gripping state changing process in step S1406, thesystem grips the part, held by the suction mechanism 54, by using amulti-fingered mechanism 59 or a gripper mechanism 60 in a grippingstate corresponding to the subsequent process. Note that the suctionmechanism 54 in this embodiment has an extensible portion 61 (thehatched portion in FIGS. 13A and 13B) and arbitrarily changes in length,as shown in FIGS. 13A and 13B. FIG. 15A shows how the system grips apart 62, held by the suction mechanism 54, by using the multi-fingeredmechanism 59 in a gripping state corresponding to the subsequent processin the gripping state changing process in step S1406. FIG. 15B shows howthe system grips a part 63, held by the suction mechanism 54, by usingthe gripper mechanism 60 in a gripping state corresponding to thesubsequent process in the gripping state changing process in step S1406.Other processes (steps S1401, S1402, S1405, and S1407) are the same asthose in the above embodiments, and hence a description of them will beomitted.

Note that this embodiment and the first to fifth embodiments haveexemplified the multi-fingered mechanism, the gripper mechanism, and thesuction mechanism to show concrete examples of the arrangements of endeffectors. However, these are examples of implementing the presentinvention, and the object gripping system of the present invention doesnot limit the arrangement and function of an end effector as long as itcan execute the re-holding operation described above.

(Seventh Embodiment)

An object gripping system according to the seventh embodiment executes apart re-holding process a plurality of number of times in a grippingstate changing process. This point differs from the first to sixthembodiments. Therefore, only the differences from the first to sixthembodiments will be described in the seventh embodiment. Other parts arethe same as those of the first to sixth embodiments, and hence adescription of them will be omitted.

Assume that a target part 64 has a long shaft portion like that shown inFIG. 16A. In this case, when picking such a part from a pile of parts,the part may be hidden by other parts, and the system may be able togrip only a shaft portion distal end position 65, as shown in FIG. 16A.Assume that in this case, a gripping state required in the assemblyprocess as the subsequent process is a state in which a head portion 66is gripped as shown in FIG. 16D. In this case, when changing thegripping state of the part by using the multi-fingered hand 1 describedin the first embodiment, the system may not be able to change thegripping state to that corresponding to the subsequent process byperforming a gripping state changing process only once. In contrast tothis, this embodiment is configured to change the gripping state to thatrequired in the assembly process as the subsequent process by executinga gripping state changing process a plurality of number of times in thegripping state changing process. FIGS. 16A to 16D show a sequence in theprocess of changing the gripping state of a part.

It is possible to determine in advance the contents of control ofoperation of the end effector associated with a plurality of number oftimes of a gripping state changing process as in the first to sixthembodiments. Alternatively, it is possible to calculate the contents ofcontrol of operation from the position and orientation measurementresult on a part, calculated from a captured image.

The object gripping system according to this embodiment can change thegripping state a plurality of number of times as described above, andhence can increase the number of types (shapes) of processing targetparts to which the system can be applied without expanding the functionof the end effector.

According to the present invention, it is possible to grip an object inconsideration of a change to the gripping position on an object orrelative orientation required in the subsequent process.

(Other Embodiments)

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment(s), and by a method, the steps ofwhich are performed by a computer of a system or apparatus by, forexample, reading out and executing a program recorded on a memory deviceto perform the functions of the above-described embodiment(s). For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (for example, computer-readable storage medium).

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2010-200290 filed on Sep. 7, 2010, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. A controller for an object gripping system, thecontroller comprising: a memory; and at least one processor coupled tothe memory, the at least one processor being configured to perform thefunctions of: a position and orientation measurement unit adapted tomeasure a position and orientation of at least one target object basedon a captured image of the at least one target object; a selection unitadapted to select at least one grippable target object from the at leastone target object based on the position and orientation; and adetermination unit adapted to determine a gripping target object fromthe at least one grippable target object, which is selected by saidselection unit, based on priorities set in advance for states includinggripping positions or gripping directions, wherein the priority is setin advance to be higher with a decrease in an amount of change requiredto change from a first gripping position and gripping direction to asecond gripping position and gripping direction for the gripping targetobject to be assembled to another object.
 2. The apparatus according toclaim 1, wherein said determination unit determines, as the grippingtarget object, a grippable target object in a state with a highestpriority.
 3. An object gripping system comprising: the controller toclaim 1; a gripping unit adapted to grip the gripping target object,which is determined by said determination unit, in the state with thehighest priority, the gripping target object gripped by the grippingunit being a gripped object; and a changing unit adapted to change atleast one of a gripping position and gripping direction of the grippedobject from the first gripping position and gripping direction to thesecond gripping position and gripping direction in which the grippedobject will be assembled to the other object.
 4. The system according toclaim 3, further comprising an assembly unit adapted to assemble thegripped object to the other object with the second gripping position andgripping direction.
 5. The system according to claim 3, furthercomprising an image capturing unit adapted to capture an image of the atleast one target object, wherein said image capturing unit captures animage of the object gripped by said gripping unit again, said positionand orientation measurement unit measures a position and orientation ofthe at least one target object again based on the image captured againby said image capturing unit, and said changing unit changes at leastone of a gripping position and a gripping direction of the grippedobject gripped by said gripping unit from the first gripping positionand gripping direction to the second gripping position and grippingdirection for the gripped object to be assembled to the other object,based on the position and orientation measured again by said positionand orientation measurement unit.
 6. The system according to claim 3,wherein said gripping unit includes one of a multi-fingered mechanism, agripper mechanism, and a suction mechanism.
 7. A robot system comprisingthe object gripping system according to claim
 3. 8. A controller for anobject gripping system, the controller comprising: a memory; and atleast one processor coupled to the memory, the at least one processorbeing configured to perform the functions of: a position and orientationmeasurement unit adapted to measure a position and orientation of atleast one target object based on a captured image of the at least onetarget object; a selection unit adapted to select at least one grippabletarget object from the at least one target object based on the positionand orientation from the at least one target object; and a determinationunit adapted to determine a gripping target object from the at least onegrippable target object, which is selected by said selection unit, basedon priorities set in advance for states including gripping positions orgripping directions, wherein the priority is set in advance to be higherwith a decrease in time required to change from a first grippingposition and gripping direction to a second gripping position andgripping direction for the gripping target object to be assembled toanother object .
 9. A method for controlling an object gripping systemthat includes a processor, the method comprising the steps of:measuring, by the processor, a position and orientation of at least onetarget object based on a captured image of the at least one targetobject; selecting, by the processor, at least one grippable targetobject from the at least one target object based on the position andorientation; determining, by the processor, a gripping target objectfrom the at least one grippable target object which is selected in theselecting step, based on priorities set in advance for states includinggripping positions or gripping directions, wherein the priority is setin advance to be higher with a decrease in change amount required tochange from a first gripping position and gripping direction to a secondgripping position and gripping direction for the gripping target objectto be assembled to another object.
 10. A non-transitorycomputer-readable storage medium storing a computer program for causinga computer to execute processes in the method according to claim
 9. 11.An object gripping method comprising: gripping the gripping targetobject which is determined by the method according to claim 9, in thestate with the highest priority; and changing at least one of a grippingposition and gripping direction of the gripping target object, which isgripped in the gripping step, from the first gripping position andgripping direction to the second gripping position and grippingdirection in which the gripping target object will be assembled to theother object.
 12. A non-transitory computer-readable storage mediumstoring a computer program for causing a computer to execute processesin the object gripping method according to claim
 11. 13. A method forcontrolling an object gripping system that includes a processor, themethod comprising the steps of: measuring, by the processor, a positionand orientation of at least one target object based on a captured imageof the at least one target object; selecting, by the processor, at leastone grippable target object from the at least one target object based onthe position and orientation; determining, by the processor, a grippingtarget object from the at least one grippable target object, which isselected in the selecting step, based on priorities set in advance forstates including gripping positions or gripping directions, wherein thepriority is set in advance to be higher with a decrease in time requiredto change from a first gripping position and gripping direction to asecond gripping position and gripping direction for the gripping targetobject to be assembled to another object.
 14. A non-transitorycomputer-readable storage medium storing a computer program for causinga computer to execute processes in the method according to claim 13.